package com.mysns.core.domain;

import java.io.Serializable;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

/**
 * 活动.
 * 
 * @author zhouych
 */
@SuppressWarnings("serial")
public class Event implements Serializable {

	/**
	 * 主键 id
	 */
	private long id;
	
	/**
	 * 发起者
	 */
	private GenericUser owner;
	
	/**
	 * 活动类别
	 */
	private EventCategory category;
	
	/**
	 * 活动名称
	 */
	private String title;
	
	/**
	 * 活动图片
	 */
	private String image;
	
	/**
	 * 活动地点
	 */
	private Address address;
	
	/**
	 * 活动内容
	 */
	private String content;
	
	/**
	 * 查看人数
	 */
	private int viewCount;
	
	/**
	 * 参加人数
	 */
	private int attendCount;
	
	/**
	 * 关注人数
	 */
	private int recommendCount;
	
	/**
	 * 活动开始时间
	 */
	private Date beginTime;
	
	/**
	 * 活动结束时间
	 */
	private Date endTime;
	
	/**
	 * 参与该活动的用户集
	 */
	private Set<GenericUser> members = new HashSet<GenericUser>();

	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public GenericUser getOwner() {
		return owner;
	}

	public void setOwner(GenericUser owner) {
		this.owner = owner;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public EventCategory getCategory() {
		return category;
	}

	public void setCategory(EventCategory category) {
		this.category = category;
	}

	public String getImage() {
		return image;
	}

	public void setImage(String image) {
		this.image = image;
	}

	public Address getAddress() {
		return address;
	}

	public void setAddress(Address address) {
		this.address = address;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

	public int getViewCount() {
		return viewCount;
	}

	public void setViewCount(int viewCount) {
		this.viewCount = viewCount;
	}

	public int getAttendCount() {
		return attendCount;
	}

	public void setAttendCount(int attendCount) {
		this.attendCount = attendCount;
	}

	public int getRecommendCount() {
		return recommendCount;
	}

	public void setRecommendCount(int recommendCount) {
		this.recommendCount = recommendCount;
	}

	public Date getBeginTime() {
		return beginTime;
	}

	public void setBeginTime(Date beginTime) {
		this.beginTime = beginTime;
	}

	public Date getEndTime() {
		return endTime;
	}

	public void setEndTime(Date endTime) {
		this.endTime = endTime;
	}

	public Set<GenericUser> getMembers() {
		return members;
	}

	public void setMembers(Set<GenericUser> members) {
		this.members = members;
	}
}
